package com.zh.auth.service;

import com.zh.auth.domain.dto.AddPermission2RoleDto;
import com.zh.auth.domain.dto.DelPermission2RoleDto;
import com.zh.web.domain.auth.entity.RolePermission;

import java.util.List;

public interface RolePermissionService {

    /**
     * 为角色添加权限
     * @param addPermission2RoleDto addPermission2RoleDto
     * @return String
     */
    String addPermission2Role(AddPermission2RoleDto addPermission2RoleDto);

    /**
     * 获取角色权限列表
     *
     * @return List
     */
    List<RolePermission> listRolePermission();

    /**
     * 删除角色权限
     * @param delPermission2RoleDto delPermission2RoleDto
     * @return String
     */

    String delPermission2Role(DelPermission2RoleDto delPermission2RoleDto);

    /**
     * 角色码获取权限
     * @param roleCode roleCode
     * @return List
     */
    List<RolePermission> selectPermissionByRole(Integer roleCode);

    /**
     * 永久删除标记为已删除的角色的权限
     * @param roleCode roleCode
     */
    void removeIfMarkedAsDeleted(List<Integer> roleCode);
}
